package com.frog.service.friend.model.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;

import javax.persistence.*;

@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "friend_following_relationship")
public class FriendFollowingRelationshipDO {
    @Id
    private Long id;

    @Column(name = "from_user_id")
    private Integer fromUserId;

    @Column(name = "to_user_id")
    private Integer toUserId;
    /**
     * "0" :未关注，取消关注
     * "1" :单方关注，对方已关注我，我未关注对方
     * "2" :双方关注
     * "3" :已发邀请，我对对方已发邀请，对方未关注我
     */
    @Column(name = "follow_status")
    private String followStatus;
    /**
     * "0" :未添加bestfried，取消bestfried
     * "1" :单方添加bestfried，对方已添加bestfried我，我未添加bestfried对方
     * "2" :双方添加bestfried
     * "3" :已发邀请，我对对方已发邀请，对方未添加bestfried我
     */
    @Column(name = "best_status")
    private String bestStatus;
    /**
     * "0" :未拉黑，取消拉黑
     * "1" :单方拉黑，对方已拉黑我，我未拉黑对方
     * "2" :双方拉黑
     * "3" :已发拉黑，我对对方已发拉黑，对方未拉黑我
     */
    @Column(name = "block_status")
    private String blockStatus;

    @Column(name = "cancel_status")
    private String cancelStatus;

    @Column(name = "follow_time")
    private Long followTime;

    @Column(name = "best_time")
    private Long bestTime;

    @Column(name = "create_time")
    private Long createTime;

    @Column(name = "update_time")
    private Long updateTime;


    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return from_user_id
     */
    public Integer getFromUserId() {
        return fromUserId;
    }

    /**
     * @param fromUserId
     */
    public void setFromUserId(Integer fromUserId) {
        this.fromUserId = fromUserId;
    }

    /**
     * @return to_user_id
     */
    public Integer getToUserId() {
        return toUserId;
    }

    /**
     * @param toUserId
     */
    public void setToUserId(Integer toUserId) {
        this.toUserId = toUserId;
    }

    /**
     * @return follow_status
     */
    public String getFollowStatus() {
        return followStatus;
    }

    /**
     * @param followStatus
     */
    public void setFollowStatus(String followStatus) {
        this.followStatus = followStatus == null ? null : followStatus.trim();
    }

    /**
     * @return best_status
     */
    public String getBestStatus() {
        return bestStatus;
    }

    /**
     * @param bestStatus
     */
    public void setBestStatus(String bestStatus) {
        this.bestStatus = bestStatus == null ? null : bestStatus.trim();
    }

    /**
     * @return block_status
     */
    public String getBlockStatus() {
        return blockStatus;
    }

    /**
     * @param blockStatus
     */
    public void setBlockStatus(String blockStatus) {
        this.blockStatus = blockStatus == null ? null : blockStatus.trim();
    }

    /**
     * @return cancel_status
     */
    public String getCancelStatus() {
        return cancelStatus;
    }

    /**
     * @param cancelStatus
     */
    public void setCancelStatus(String cancelStatus) {
        this.cancelStatus = cancelStatus == null ? null : cancelStatus.trim();
    }

    /**
     * @return create_time
     */
    public Long getCreateTime() {
        return createTime;
    }

    /**
     * @param createTime
     */
    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    /**
     * @return update_time
     */
    public Long getUpdateTime() {
        return updateTime;
    }

    /**
     * @param updateTime
     */
    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public Long getFollowTime() {
        return followTime;
    }

    public void setFollowTime(Long followTime) {
        this.followTime = followTime;
    }

    public Long getBestTime() {
        return bestTime;
    }

    public void setBestTime(Long bestTime) {
        this.bestTime = bestTime;
    }
}